I recently had to implement infinite scrolling in an iOS app. If you’re not
familiar with infinite scrolling, it’s an alternative to pagination, where
instead of having the user explicitly do something to advance to the next page,
new content is lazily loaded as the user nears the end of the currently visible
content. This pattern is often used on the web for social media sites, where its
main goal is to increase engagement. If you don’t have to click on a “next”
button, it’s much easier for you to keep consuming content.
The often slow or unreliable networks that mobile devices operate on make it
even more difficult to implement infinite scrolling well. You can’t provide a
seamless transition to the next batch of data if the network isn’t available
when you need it, or if it takes several seconds to retrieve the data you need.
This post will outline a variety of considerations, along with a brief overview
of two general implementation approaches.